#ifndef RADIOCONTROL_H_
#define RADIOCONTROL_H_

#include "Control.h"

/**
 * \class RadioControl
 * \brief A Control-derived class which the server renders as a single radio button
 *
 * The class has a description to go along with the Radio button and contains a boolean value.
 * This bool is defined as true if the button was chosen and false otherwise.
 *
 * There is only one "group" of radios available to each ControlElement.  This means that no matter
 * the order of Controls or how many RadioControls are present, the browser will render them as
 * mutually exclusive.
 */
class RadioControl: public Control {
public:
	RadioControl(std::string controlDescription);
	virtual ~RadioControl();

	/**
	 * \brief redefinition of Element::getType() to return the correct value
	 * \return RADIOCONTROL
	 */
	int getType();
	void setValueBool(bool newRadioState);
	bool getValueBool();

	void setValue(void* newValue);

public:
	bool valueBool;
};

#endif /* RADIOCONTROL_H_ */
